package com.bytecub.utils;

import java.util.Arrays;

/**
 * @author hsc
 */
public class ByteString {

    // byte 转 string (十进制)
    public static String bytes2hexDisplayDec(byte[] bytes) {
        return Arrays.toString(bytes);
    }

    // byte 转 string (十六进制)
    public static String bytes2hexDisplayHex(byte[] bytes) {
        StringBuilder sb = new StringBuilder();
        String tmp;
        sb.append("[");
        for (byte b : bytes) {
            // 将每个字节与0xFF进行与运算，然后转化为10进制，然后借助于Integer再转化为16进制
            tmp = Integer.toHexString(0xFF & b);
            if (tmp.length() == 1) {
                //只有一位的前面补个0
                tmp = "0" + tmp;
            }
            //每个字节用空格断开
            sb.append(tmp).append(" ");
        }
        //删除最后一个字节后面对于的空格
        sb.delete(sb.length() - 1, sb.length());
        sb.append("]");
        return sb.toString();
    }
}
